0

我想为例如生成搜索引擎友好的网址:-说我在下面有一个链接,例如

http://www.apexengineeringproject.com/display_project.php?id=AP112&title=ADVANCED%20OFFICE%20AUTOMATION%20SYSTEM%20USING%20GSM%20AND%20MICROCONTROLLER

我只想让它成为

http://www.apexengineeringproject.com/display_project.php/AP112/ADVANCED%20OFFICE%20AUTOMATION%20SYSTEM%20USING%20GSM%20AND%20MICROCONTROLLER

我尝试在 .htaccess 中重写但没有成功,即使我没有在链接转换为 seo 友好后获得如何获取参数。所以在这种情况下请任何人帮助我。

编辑:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} \/index\.php [NC] 
RewriteRule (.*) apexengineeringproject.com [R=301,L] 
RewriteRule ^display_project.php/([^/]+)/([^/]+) /display_project.php?id=$1&title=$2 [NC] 

这是我的 .htaccess 文件的内容,但问题是页面被加载,而不是样式和 javascripts。

4

1 回答 1

0

最有可能的是,您使用相对文件名引用您的脚本/样式文件。浏览器将使用整个目录路径直到查询字符串之前的最后一个斜杠来获取相对路径。

例如,使用重写前的页面时;

http://www.apexengineeringproject.com/display_project.php 

...它在 处查找脚本scripts/test.js,浏览器将从中获取它;

http://www.apexengineeringproject.com/scripts/test.js

改写后使用页面时;

http://www.apexengineeringproject.com/display_project.php/AP112/ADVANCED%20OFFICE%20AUTOMATION%20SYSTEM%20USING%20GSM%20AND%20MICROCONTROLLER

...获取相对路径scripts/test.js将获取文件;

http://www.apexengineeringproject.com/display_project.php/AP112/scripts/test.js

...大概不存在。

要解决此问题,只需使您的脚本路径和 css 路径相对于服务器根目录,即不要使用scripts/test.js,而是使用/scripts/test.js.

编辑:虽然我认为它有点hacky,但您可以将一些文件重写回根目录。无法对此进行测试,但它应该接近您想要的;

RewriteCond %{REQUEST_URI} \.(jpg|css|png|js)$ [NC]
RewriteRule display_project.php/[^/]*(.*) $1 [NC]
于 2013-07-30T13:38:39.847 回答