Добавить файл Htaccess в каталог WebRoot и добавить правило так:
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^publications/(.*)\.php$ /publications-$1.php [L,QSA]
</IfModule>
## Results
# publications/data.php => publications-data.php
Он отображает любой запрос, который соответствовал условию к соответствующему файлу PHP под капотом. Если вам нужно перенаправить, добавьте флаг R
в правило.
В случае, если вам нужно более общее правило, чтобы соответствовать что-либо в первом сегменте, попробуйте вместо этого:
RewriteRule ^(.*)/(.*)\.php$ /$1-$2.php [L,QSA]
## Results
# foo/bar.php => foo-bar.php
И последнее, что нужно отметить, сделать модуль переписан уверен в Apache включен и Htaccess файлы разрешены (AllowOverride All
в вашем httpd.conf):
# If enabled, outputs something like this:
# rewrite_module (shared)
apachectl -M | grep rewrite # It's apache2ctl on some platforms
# If not enabled; you can enable it using this on most platforms:
a2enmod rewrite
apachectl restart
Никогда не знал, что я мог бы поставить .htaccess файл в подкаталоге тоже! Однако у меня есть ошибка: HTTP ERROR 500 'страница не работает' –
Каков ваш оригинальный URL? укажите полный URL-адрес, который вы вводите в браузер. –
Таким образом, старый url был бы: http://www.biometricsltd.com/publications/publications-data.php И новый: http://www.biometricsltd.com/publications/data.php –