Структура каталогов моего сайта следующая:
/var/www/html/wordpress/
/var/www/html/rail/
/wordpress/ - это мой сайт по умолчанию при доступе к www.example.com. Wordpress содержит .htaccess, автоматически созданный wp.
/rail/ - это псевдоним внутри apache sites-enabled, доступный по адресу www.example.com/rail.
Содержимое файла внутри /rail/ имеет расширение .php, но оно отображается в адресной строке, что мне не нужно для удобства пользователя.
Хочу /rail/search/(future)/search/parameters/
Вместо /rail/search.php/future/search/parameters/
Я читал другие темы поддержки переполнения стека о наноинге .htaccess, но мой htaccess находится внутри wordpress.
Мне нужно будет создать еще один .htaccess внутри / rail /?
Как лучше всего удалить файл .phpexension из файлов .php, чтобы моя структура URL была бесшовной, как wordpress, и не получал неудобный .php?
Заранее спасибо.
Да, вы можете добавить свой код в .htaccess, созданный wordpress. Но вместо этого создайте другой файл .htaccess в каталоге rail.






В ваш файл VirtualHost (apache) внесено несколько изменений, в которых вы используете псевдоним.
DocumentRoot /var/www/html/wordpress
Alias /rail "/var/www/html/rail"
<Directory "/var/www/html/rail">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Используйте следующий код, чтобы удалить расширение .php из URL-адреса каталога /rail/, создав файл .htaccess в каталоге /rail/.
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /rail/
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f [NC]
RewriteRule ^ %{REQUEST_URI}.php [L]
Извините, но это не имеет никакого значения. Я создал файл .htaccess в / var / www / html / rail / с указанным выше и перезагрузил сервер / перезапустил службу apache2, а / rail / search приходит как 404 not found. Хотите решить эту проблему и при необходимости готовы предоставить root-доступ к серверу?
Да, вы можете отправить его по электронной почте на мой id [email protected]
Спасибо, я отправил данные для входа по электронной почте, дайте мне знать, если вы не получили, и я отправлю их повторно.
Привет, ты нашел решение своего вопроса. И я не получил от вас письма.
Нет, я еще не нашел решения. Я отправлю письмо еще раз, так как оно могло попасть в спам :)
У кого-нибудь есть какие-либо идеи? Спасибо