Url Rewrite不适用于apache服务器godaddy

时间:2018-05-26 15:38:44

标签: php apache .htaccess mod-rewrite url-rewriting

我在godaddy网络服务器上托管我的网站,我尝试使用htaccess文件重写一些网址,但它不起作用。非常感谢帮助。

基本上我想替换像:

这样的网址

/photographers/photographer.php?id=1&name=john-doe

在:

/photographer/john-doe

显然我也希望我的服务器以相反的方式在内部重定向。

我在.htaccess中尝试了以下代码。

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule    ^photographer/([A-Za-z-]+)/?$ photographers/photographer.php?id=$2&name=$1 [NC,L]

3 个答案:

答案 0 :(得分:1)

如果没有身份证,你就无法做到。

在网址中添加ID:

/photographer/john-doe/1

那个.htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^photographer/([A-Za-z-]+)/(\d+)/?$ photographers/photographer.php?id=$2&name=$1 [NC,L]

答案 1 :(得分:0)

您需要使用Query String Append标志(QSA)

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photographer/([A-Za-z-]+)/?$ photographers/photographer.php?id=$2&name=$1 [QSA,NC,L]

您也可以尝试删除RewriteBase行,看看是否也有帮助。

答案 2 :(得分:0)

试试这个。只有一行:)

RewriteRule ^(photographer)/(.*)$ /photographers/photographer.php?id=1&name=$2 [L]