【问题标题】:I Want to Generate Search Engine Friendly urls我想生成搜索引擎友好的网址
【发布时间】:2013-07-30 15:58:06
【问题描述】:

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

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。

【问题讨论】:

  • 你尝试了什么?什么不起作用?
  • 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跨度>
  • 样式/脚本在哪里?
  • 只要试试这 2 个链接,您就会知道错误,先生,此链接正确加载 working link 但此链接 nonworking link 有一些问题,关于样式/脚本,它们存在于名为twitter-bootstrap-v2

标签: url mod-rewrite


【解决方案1】:

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

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

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]

【讨论】:

  • 是的,上面的解决方案正在工作....但是还有其他解决方案,比如将所有请求重定向到主域链接然后重写 url
  • @user2028204 添加了可能的重写以将文件重写回根目录。
猜你喜欢
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 2010-11-18
  • 2011-08-31
相关资源
最近更新 更多